from abc import abstractmethod


class BaseMetric(object):
    def __init__(self, data_size, batch_size, log_interval=1, **kwargs):
        self.data_size = data_size
        self.batch_size = batch_size
        self.log_interval = log_interval

    @abstractmethod
    def update(self):
        raise NotImplemented

    @abstractmethod
    def accumulate(self):
        raise NotImplemented
